
/**
 * 数组转Str
 * @param {Object} arry
 * @author 瑾年
 * @return str
 */
export function arrayToString(arry: any) {
  return arry.join(',');
}
/**
 * 锁定状态
 * @returns 
 */
export const lockStatus = [
  {
    label: '正常',
    value: true
  }, {
    label: '锁定',
    value: false
  }];
/**
 * 菜单隐藏状态
 * @returns 
 */
export const hiddenOptions = [
  {
    label: '隐藏',
    value: true
  }, {
    label: '不隐藏',
    value: false
  }];
/**
 * 菜单类型
 * @returns 
 */
export const menuOptions = [
  {
    label: '侧边栏菜单',
    value: 'menu'
  }, {
    label: '按钮，接口',
    value: 'btn'
  }];
/**
 * 通用状态
 * @returns 
 */
export const deletedOptions = [
  {
    label: '启用',
    value: 0
  }, {
    label: '禁用',
    value: 1
  }];
/**
 * 有效，无效
 * @returns 
 */
export const effectiveOptions = [
  {
    label: '有效',
    value: 'Y'
  }, {
    label: '无效',
    value: 'N'
  }];
/**
 * 生成随机颜色
 */
export function randomColor() {
  const letters = '0123456789ABCDEF';
  let color = '#';
  for (let i = 0; i < 6; i++) {
    color += letters[Math.floor(Math.random() * 16)];
  }
  return color;
};
/**
* 提取第一个字
* @param {*} text 
* @returns 
*/
export function extractFirstCharacter(text: string) {
  const firstCharacter = text.trim().charAt(0);
  return firstCharacter;
};
/**
 * 获取参数
 * @returns 
 */
export function getParam() {
  const params = new URLSearchParams(window.location.search);
  return params.get('id');
}
/**
 * 获取参数
 * @returns 
 */
export function getPathParam() {
  const url = window.location.href;
  const param = url.match(/\/([^/]+)$/)[1];
  return param;
}

/**
 * 删除空的children属性
 * @param treeData 
 * @returns 
 */
export function removeEmptyChildren(treeData) {
  if (Array.isArray(treeData)) {
    return treeData.map((node) => {
      if (node.children && node.children.length > 0) {
        node.children = removeEmptyChildren(node.children);
      } else {
        delete node.children;
      }
      return node;
    });
  }
  return treeData;
}
/**
 * 验证是否为JSON
 * @param str 
 * @returns 
 */
export function isJSON(str) {
  try {
    JSON.parse(str);
    return true;
  } catch (error) {
    return false;
  }
}
/**
* 获取元素的高度
* @param {*} elementId 
* @returns 
*/
export function getDomHeight(elementId: string) {
  const element = document.getElementById(elementId);
  return element?.clientHeight;
};



